Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Αντιγραφή βάσης σε άλλη (κλώνος) SQL Server Express 2005

Îåêßíçóå áðü ôï ìÝëïò nmichalo. Τελευταία δημοσίευση από το μέλος nmichalo στις 31-01-2011, 15:02. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  31-01-2011, 14:09 62846

    Αντιγραφή βάσης σε άλλη (κλώνος) SQL Server Express 2005

    Προσπαθώ να αντιγράψω μία βάση από ένα όνομα πχ db1 σε ένα άλλο πχ db2 σε SQL Server Express 2005.
    Προσπαθώ να κάνω έναν κλώνο της βάσης (schema & data) γιατί πρέπει να υπάρχουν μετά και οι δύο βάσης.
    Από ότι έψαξα κάποια διαδικασία copy δεν έχει έκδοση express δεν έχει. Έχει κάποιος κάποια ιδέα;

  •  31-01-2011, 14:16 62847 σε απάντηση της 62846

    Απ: Αντιγραφή βάσης σε άλλη (κλώνος) SQL Server Express 2005

    Κάνε backup την βάση σου και restore με άλλο όνομα απλά να προσέξεις να κάνεις move τα αρχεία κάπου αλλού
    Antonios Chatzipavlis

  •  31-01-2011, 14:19 62848 σε απάντηση της 62847

    Απ: Αντιγραφή βάσης σε άλλη (κλώνος) SQL Server Express 2005

    Εκεί είναι το πρόβλημα! Δεν μπορώ να κάνω move τα αρχεία της πρώτης βάσης γιατί θα πρέπει να υπάρξουν και οι δύο μετά!

  •  31-01-2011, 14:20 62849 σε απάντηση της 62846

    Απ: Αντιγραφή βάσης σε άλλη (κλώνος) SQL Server Express 2005

    Το "copy" που βλέπεις στην Standard έκδοση είναι ένα SSIS package το οποίο κάνει detach την αρχική βάση, την αντιγράφει σε ένα νέο σημείο και μετά κάνει attach και τις δύο βάσεις, τη δεύτερη με νέο όνομα. Αυτό γίνεται άνετα και με τον SQL Server Express. Να παρατηρήσω μόνο ότι ο SQL Server 2005 είναι κομματάκι παλιός και unsupported (δηλ. no more patches, service packs) εντός ολίγου (12/4/2011).





    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  31-01-2011, 14:43 62850 σε απάντηση της 62848

    Απ: Αντιγραφή βάσης σε άλλη (κλώνος) SQL Server Express 2005

    Όταν ο Αντώνης λέει move εννοεί να αλλάξεις την θέση των αρχείων στην εντολή Restore. Η εντολή restore χρησιμοποιεί ως θέση των αρχείων την θέση που είχαν όταν έγινε το backup. Αν όμως χρησιμοποιήσεις αυτή τη θέση, θα γράψεις πάνω από την παλιά σου βάση. Απλά θα πρέπει να ορίσεις μία άλλη θέση για τα αρχεία, όχι να κάνεις File Move. 

    Δοκίμασε και τους δύο τρόπους για να δεις πως παίζουν με μία test βάση για να καταλάβεις τί συμβαίνει. 

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  31-01-2011, 14:52 62851 σε απάντηση της 62848

    Απ: Αντιγραφή βάσης σε άλλη (κλώνος) SQL Server Express 2005

    nmichalo:

    Εκεί είναι το πρόβλημα! Δεν μπορώ να κάνω move τα αρχεία της πρώτης βάσης γιατί θα πρέπει να υπάρξουν και οι δύο μετά!

     

    δεν θα κάνει move τα αρχεία της πρώτης βάσης απλά όταν θα κάνεις restore database θα χρησιμοποιήσεις την MOVE παράμετρο για την δεύτερη βάση

    πχ. Εαν η πρώτη σου είναι η b1 και πάρεις backup αυτή με την backup database b1 to disk='c:\mybackups\b1.bak' και θέλεις να φτιάξεις την b2 τοτε θα κάνεις restore ως εξής

    RESTORE DATABASE B2 FROM DISK='C:\MYBACKUPS\B1.BAK'

    WITH

    MOVE <ΤΟ ΛΟΓΙΚΟ ΟΝΟΜΑ ΤΟΥ DATA FILE> ΤΟ 'PATH\ΦΥΣΙΚΟ ΟΝΟΜΑ ΑΡΧΕΙΟΥ.MDF',

    MOVE <ΤΟ ΛΟΓΙΚΟ ΟΝΟΜΑ ΤΟΥ LOG FILE> ΤΟ 'PATH\ΦΥΣΙΚΟ ΟΝΟΜΑ ΑΡΧΕΙΟΥ.LDF'

    και θα έχεις και τις δύο


    Antonios Chatzipavlis

  •  31-01-2011, 15:02 62852 σε απάντηση της 62850

    Απ: Αντιγραφή βάσης σε άλλη (κλώνος) SQL Server Express 2005

    Ναι χαζομάρα μου που πήγα να τα κάνω με το GUI του Management Studio! Ο τρόπο του Αντώνη δουλεύει θαυμάσια!

    Ευχαριστώ πολύ!

    υγ. τελικά γίνεται και με το GUI (αρκεί να προσέχεις που να πατήσεις!)

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems